package moocloudstudio.minder.enums;

import cn.hutool.core.util.StrUtil;
import lombok.Getter;

import java.util.HashMap;
import java.util.Map;

@Getter
public enum ShareType {

    /**
     * 永不过期模式
     */
    NoExpiration("1"),
    /**
     * 分享码模式
     */
    ShareCode("2"),
    /**
     * 限时模式
     */
    Limit("3"),
    ;

    private final String value;

    ShareType(String value){
        this.value = value;
    }

    public static ShareType toEnum(String value){
        if (StrUtil.isBlank(value)){
            throw new IllegalArgumentException("参数不能为空");
        }
        return switch (value) {
            case "1" -> ShareType.NoExpiration;
            case "2" -> ShareType.ShareCode;
            case "3" -> ShareType.Limit;
            default -> throw new IllegalArgumentException("非法的参数");
        };
    }
}
